perm filename DISPAT.CNV[C,JRA] blob
sn#014369 filedate 1972-11-28 generic text, type T, neo UTF8
(DEFPROP DISPATCH
(LAMBDA(EXP1 RETAG SAVE ALINK1)
(PRINT (QUOTE ***))
(PRINT EXP1)
(PRINT RETAG)
(PRINT SAVE)
(COND ((NUMBERP EXP1) (SETQ VAL EXP1) RETAG)
((ATOM EXP1) (SETQ VAL (IVAL EXP1 ALINK1)) RETAG)
(T
(PROG (V F)
(SETQ F (CAR EXP1))
BEGIN
(COND
((ATOM F)
(COND ((SETQ V (GETL F (QUOTE (CINT CEXPR FEXPR FSUBR)))) (GO (CAR V)))
(T (SAVEUP) (SETQ UARGS (CDR EXP1) EARGS NIL) (RETURN (QUOTE EVARGS)))))
((EQ (CAR F) (QUOTE CLAMBDA)) (SAVEUP)
(BIND1 (QUOTE *BODY) (CDDR F))
(SETQ VARS (CADR F) UARGS (CDR EXP1))
(RETURN (QUOTE ARGB)))
((EQ (CAR F) (QUOTE LAMBDA)) (SAVEUP)
(SETQ UARGS (CDR EXP1) EARGS NIL)
(RETURN (QUOTE EVARGS)))
((EQ (CAR F) (QUOTE *CLOSURE)) (SETQ F (CADR F)) (GO BEGIN))
(T (SETQ F (CERR UNKNOWN FUNCTION TYPE (/@ . EXP1))) (GO BEGIN)))
CINT (SAVEUP)
(RETURN (CADR V))
CEXPR
(SAVEUP)
(BIND1 (QUOTE *BODY) (CDADR V))
(SETQ VARS (CAADR V) UARGS (CDR EXP1))
(RETURN (QUOTE ARGB))
FEXPR
FSUBR
(SETQ VAL (EVAL EXP1))
(RETURN RETAG)))))
EXPR)